#include <iostream>
#include <memory>
using namespace std;

class Deleter {

public:
  void operator()(int *) {cout<<"deleter"<<endl;}
};

int main() {
  Deleter a;
  std::shared_ptr<int> p(new int(1));
  //shared_ptr 删除器不是智能指针的一部分，所以要单独传入一个对象
  //shared_ptr 模板本身只接受一个类型参数
  std::shared_ptr<int> q(new int(2), a);
}
